'
'
' ###################
' ##### Label #####
' ###################
'
FUNCTION Label ()
STATIC label
$XuiLabel = 1
'
GetDisplayGrid (@label)
'
' create window with XuiLabel grid
'
XuiCreateWindow (@grid, @"XuiLabel", 100, 256, 256, 128, 0, "")
XuiSendStringMessage ( grid, @"SetCallback", grid, &XuiQueueCallbacks(), -1, -1, $XuiLabel, -1)
XuiSendStringMessage ( grid, @"SetGridName", 0, 0, 0, 0, 0, @"Label")
XuiSendStringMessage ( grid, @"SetTextString", 0, 0, 0, 0, 0, @"XuiLabel")
XuiSendStringMessage ( grid, @"SetColor", $$BrightCyan, $$Yellow, -1, -1, 0, 0)
XuiSendStringMessage ( grid, @"SetFont", 480, 700, 700, 0, 0, @"Roman")
XuiSendStringMessage ( grid, @"SetTexture", $$TextureShadow, 0, 0, 0, 0, 0)
XuiSendStringMessage ( grid, @"DisplayWindow", 0, 0, 0, 0, 0, 0)
'
' convenience function message loop
'
DO
XgrProcessMessages (1)
DO WHILE XuiGetNextCallback (@grid, @message$, @v0, @v1, @v2, @v3, @kid, @r1$)
GOSUB Callback
LOOP
LOOP
RETURN
'
' callback
'
SUB Callback
win = kid >> 16
kid = kid AND 0xFF
SELECT CASE message$
CASE "CloseWindow" : QUIT (0)
CASE "Selection" : GOSUB Selection
CASE ELSE : DisplayCallback (grid, @message$, v0, v1, v2, v3, kid, @r1$)
END SELECT
END SUB
'
' Selection message
'
SUB Selection
DisplayCallback (grid, @message$, v0, v1, v2, v3, kid, @r1$)
END SUB
END FUNCTION